home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / share / foomatic / parseconfig.pl
Perl Script  |  2008-10-15  |  1KB  |  45 lines

  1. #!/usr/bin/perl
  2.  
  3. my $configpath = "/etc/foomatic";
  4.  
  5. sub readConfFile
  6. {
  7.     my ($file) = @_;
  8.  
  9.     my %conf;
  10.     # Read config file if present
  11.     if (open CONF, "< $file")
  12.     {
  13.         while (<CONF>)
  14.         {
  15.             $conf{$1}="$2" if (m/^\s*([^\#\s]\S*)\s*:\s*(.*)\s*$/);
  16.         }
  17.         close CONF;
  18.     }
  19.  
  20.     return %conf;
  21. }
  22.  
  23. %conf = readConfFile("$configpath/filter.conf");
  24. print( 'db_set foomatic-filters/filter_debug ',
  25.        $conf{debug} > 0 ? 'true' : 'false', ";\n") if exists $conf{debug};
  26. if (exists $conf{textfilter})
  27. {
  28.     if ($conf{textfilter} =~ m/^(a2ps|enscript|mpage)$/)
  29.     {
  30.         print "db_set foomatic-filters/textfilter $1;\n";
  31.     }
  32.     elsif ($conf{textfilter} =~ m/^\s*$/)
  33.     {
  34.         print "db_set foomatic-filters/textfilter Automagic;\n";
  35.     }
  36.     else
  37.     {
  38.         print "db_set foomatic-filters/textfilter Custom;\n";
  39.         print "db_set foomatic-filters/custom_textfilter $conf{textfilter};\n";
  40.     }
  41. }
  42. print( 'db_set foomatic-filters/ps_accounting ',
  43.        $conf{ps_accounting} ? 'true' : 'false',
  44.        "\n") if exists $conf{ps_accounting};
  45.